home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CD Fun House 10
/
CD Fun House 10.0 (7015) (Wayzata Technology) (1995).iso
/
mac
/
PC
/
TWLITE
/
Cd funhouse parser info
/
firstone.c
< prev
Wrap
C/C++ Source or Header
|
1994-11-28
|
6KB
|
306 lines
/*Wayzata Technology Cd Fun House 10.0 First Step*/
/*Taking the database dump and parsing it into the WAYZATA.TXT file.*/
#include <errno.h>
#include <fcntl.h>
#include <io.h>
#include <sys\types.h>
#include <sys\stat.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
FILE *InFile; /*Dump file form the database.*/
FILE *OutFile; /*WAYZATA.TXT file to be placed in each directory.*/
FILE *LogFile; /*File where any errors are reported to.*/
CHAR RIGFlag[5]; /*Executable type flag.*/
CHAR Title[30]; /*Program title*/
CHAR Version[10]; /*Version of program*/
CHAR Path[30]; /*Path of program*/
CHAR Executable[20] /*Executable's name*/
CHAR Rating[15] /*Programs Rating, 1 to 10 asterics*/
CHAR Fee[10] /*Shareware fee if any*/
CHAR Author1[40];
CHAR Company[40];
CHAR Author2[40]; /*Author's address*/
CHAR Author3[40];
CHAR Author4[40];
CHAR Author5[40];
CHAR Description[999]; /*Program's description, usually obtained from file_id.diz*/
int x; /*Counter. */
int y;
int z;
int v;
int t;
int u;
div_t div_result; /*Used to determine if we need a */
/*line wrap. */
short textC = 0;
CHAR Fromfile[2000]; /*REcord from database dump.*/
CHAR Dummy; /*temp variable*/
CHAR Reader; /*used in parse*/
CHAR *tester; /*Temp variable for path*/
CHAR XString[50]; /*Temp variable for path*/
main()
{
u = open("d:\\dbdump.txt",O_RDONLY);
InFile = fdopen(u,"r");
Dummy = fgetc(InFile);
x = 0;
while (dummy != EOF)
{
while (dummy != '\n')
{
FromFile[x] = dummy;
x++;
dummy = fgetc(InFile);
}
Dummy[x] = '\n';
y = 0;
x =0;
reader = Dummy[x];
while (Dummy != '\t')
{
RIGFlag[y] = reader;
x++;
y++;
reader = Dummy[x];
}
RIGFlag[y] = '\0';
x++;
y= 0;
reader = Dummy[x];
while (Dummy != '\t')
{
Title[y] = reader;
x++;
reader = Dummy[x];
}
Title[y] = '\0';
x++;
y = 0;
reader = Dummy[x];
while (Dummy != '\t')
{
Version[y] = reader;
x++;
reader = Dummy[x];
}
Version[y] = '\0\;
x++;
y = 0;
reader = Dummy[x];
while (Dummy != '\t')
{
Path[y] = reader;
x++;
reader = Dummy[x];
}
Path[y] = '\0';
x++;
y = 0;
reader = Dummy[x];
while (Dummy != '\t')
{
Executable[y] = reader;
x++;
reader = Dummy[x];
}
Executable[y] = '\0';
x++;
y = 0;
reader = Dummy[x];
while (Dummy != '\t')
{
Rating[y] = reader;
x++;
reader = Dummy[x];
}
Rating[y] = '\0';
x++;
y = 0;
reader = Dummy[x];
while (Dummy != '\t')
{
Fee[y] = reader;
x++;
reader = Dummy[x];
}
Fee[y] = '\0';
x++;
y = 0;
reader = Dummy[x];
while (Dummy != '\t')
{
Author1[y] = reader;
x++;
reader = Dummy[x];
}
Author1[y] = '\0';
x++;
y = 0;
reader = Dummy[x];
while (Dummy != '\t')
{
Company[y] = reader;
x++;
reader = Dummy[x];
}
Company[y] = '\0';
x++;
y = 0;
reader = Dummy[x];
while (Dummy != '\t')
{
Author2[y] = reader;
x++;
reader = Dummy[x];
}
Author2[y] = '\0';
x++;
y = 0;
reader = Dummy[x];
while (Dummy != '\t')
{
Author3[y] = reader;
x++;
reader = Dummy[x];
}
Author3[y] = '\0';
x++;
y = 0;
reader = Dummy[x];
while (Dummy != '\t')
{
Author4[y] = reader;
x++;
reader = Dummy[x];
}
Author4[y] = '\0';
x++;
y = 0;
reader = Dummy[x];
while (Dummy != '\t')
{
Author5[y] = reader;
x++;
reader = Dummy[x];
}
Author5[y] = '\0';
x++;
y = 0;
reader = Dummy[x];
while (Dummy != '\n')
{
if (reader == '\t')
reader = ' ';
Description[y] = reader;
x++;
reader = Dummy[x];
}
Description[y] = '\0';
strcpy(XString,"D:\\PC\\");
tester = strcat(XString,Path);
strcpy(XString,tester);
tester = strcat(XString,"\\WAYZATA.TXT");
v = open(tester,O_WRONLY|O_CREAT,S_IWRITE);
OutFile = fdopen(v,"w+");
if (v == -1)
clearerr(OutFile);
else
{
fprintf(OutFile,"Copyright 1994, Wayzata Technology\n\n");
fprintf(OutFile,"NAME : ");
fprintf(OutFile,"%s\n",Title);
fprintf(OutFile,"VERSION : ");
fprintf(OutFile,"%s\n",Version);
fprintf(OutFile,"PATH : ");
fprintf(OutFile,"%s\n",Path);
fprintf(OutFile,"EXECUTABLE : ");
fprintf(OutFile,"%s\n",Executable);
fprintf(OutFile,"FLAGS : ");
fprintf(OutFile,"%s\n",RIGFlag);
fprintf(OutFile,"RATING : ");
fprintf(OutFile,"%s\n",Rating);
fprintf(OutFile,"REGISTRATION : ");
fprintf(OutFile,"%s\n",Fee);
fprintf(OutFile,"AUTHOR : ");
fprintf(OutFile,"%s\n",Author1);
fprintf(OutFile,"COMPANY : ");
fprintf(OutFile,"%s\n",Company);
fprintf(OutFile,"ADDRESS : ");
fprintf(OutFile,"%s\n",Author2);
fprintf(OutFile,"CITY : ");
fprintf(OutFile,"%s\n",Author3);
fprintf(OutFile,"STATE : ");
fprintf(OutFile,"%s\n",Author4);
fprintf(OutFile,"ZIP CODE : ");
fprintf(OutFile,"%s\n",Author5);
fprintf(OutFile,"DESCRIPTION : \n");
fprintf(OutFile,"-----------\n");
char saveC, *descPtr;
short spOffset;
descPtr = (char *) &ProgramDesc[0];
while( descPtr )
{
if( strlen( descPtr ) > 70 )
{
spOffset = 64;
while((spOffset>1) && (descPtr[spOffset] != ' '))
spOffset--;
if( spOffset < 2 ) spOffset = 64;
saveC = descPtr[spOffset];
descPtr[spOffset] = 0;
fprintf(OutFile,"%s\n",descPtr);
if( saveC != ' ')
{
descPtr[spOffset] = saveC;
spOffset--;
}
descPtr = (char *) &descPtr[spOffset+1];
}
else
{
fprintf(OutFile,"%s",descPtr);
descPtr = NULL;
}
}
}
fclose(OutFile);
dummy = fgetc(InFile);
if (dummy == EOF) break;
printf("just before closeall");
fcloseall();
printf("done");
}